package com.myproj.model;

// Generated 2014-11-7 21:06:27 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Employees generated by hbm2java
 */
@Entity
@Table(name = "employees", catalog = "employees")
public class Employees implements java.io.Serializable {

	private int empNo;
	private Date birthDate;
	private String firstName;
	private String lastName;
	private String gender;
	private Date hireDate;
	private Set<DeptEmp> deptEmps = new HashSet(0);
	private Set<Salaries> salarieses = new HashSet(0);
	private Set<DeptManager> deptManagers = new HashSet(0);
	private Set<Titles> titleses = new HashSet(0);

	public Employees() {
	}

	public Employees(int empNo, Date birthDate, String firstName,
			String lastName, String gender, Date hireDate) {
		this.empNo = empNo;
		this.birthDate = birthDate;
		this.firstName = firstName;
		this.lastName = lastName;
		this.gender = gender;
		this.hireDate = hireDate;
	}

	public Employees(int empNo, Date birthDate, String firstName,
			String lastName, String gender, Date hireDate, Set deptEmps,
			Set salarieses, Set deptManagers, Set titleses) {
		this.empNo = empNo;
		this.birthDate = birthDate;
		this.firstName = firstName;
		this.lastName = lastName;
		this.gender = gender;
		this.hireDate = hireDate;
		this.deptEmps = deptEmps;
		this.salarieses = salarieses;
		this.deptManagers = deptManagers;
		this.titleses = titleses;
	}

	@Id
	@Column(name = "emp_no", unique = true, nullable = false)
	public int getEmpNo() {
		return this.empNo;
	}

	public void setEmpNo(int empNo) {
		this.empNo = empNo;
	}

	@Column(name = "birth_date", nullable = false, length = 10)
	public Date getBirthDate() {
		return this.birthDate;
	}

	public void setBirthDate(Date birthDate) {
		this.birthDate = birthDate;
	}

	@Column(name = "first_name", nullable = false, length = 14)
	public String getFirstName() {
		return this.firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	@Column(name = "last_name", nullable = false, length = 16)
	public String getLastName() {
		return this.lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	@Column(name = "gender", nullable = false, length = 2)
	public String getGender() {
		return this.gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	@Column(name = "hire_date", nullable = false, length = 10)
	public Date getHireDate() {
		return this.hireDate;
	}

	public void setHireDate(Date hireDate) {
		this.hireDate = hireDate;
	}

	@OneToMany(mappedBy = "employees")
	public Set<DeptEmp> getDeptEmps() {
		return this.deptEmps;
	}

	public void setDeptEmps(Set<DeptEmp> deptEmps) {
		this.deptEmps = deptEmps;
	}

	@OneToMany(mappedBy = "employees")
	public Set<Salaries> getSalarieses() {
		return this.salarieses;
	}

	public void setSalarieses(Set<Salaries> salarieses) {
		this.salarieses = salarieses;
	}

	@OneToMany( mappedBy = "employees")
	public Set<DeptManager> getDeptManagers() {
		return this.deptManagers;
	}

	public void setDeptManagers(Set<DeptManager> deptManagers) {
		this.deptManagers = deptManagers;
	}

	@OneToMany(mappedBy = "employees")
	public Set<Titles> getTitleses() {
		return this.titleses;
	}

	public void setTitleses(Set<Titles> titleses) {
		this.titleses = titleses;
	}

}
